package pl.wr.particle.impl.matter.composite.hadrons.baryons.nucleons;

import pl.wr.particle.def.matter.IParticle;
import pl.wr.particle.def.matter.composite.hadrons.baryons.nucleons.IProton;
import pl.wr.particle.def.matter.elementary.fermions.quarks.IDown;
import pl.wr.particle.def.matter.elementary.fermions.quarks.IUp;
import pl.wr.particle.impl.Particle;
import pl.wr.particle.impl.matter.elementary.fermions.quarks.Down;
import pl.wr.particle.impl.matter.elementary.fermions.quarks.Up;

/**
 * @version 1.0
 * @author wieslaw.rodak
 *
 */
public class Proton extends Particle implements IProton {
	
	public static final String SYMBOL = "p";
	public static final String NAME = "proton";
//	private  final IParticle[] SELF = {new Up(), new Up(), new Down()};

	public Proton() {
//		super();
	    this(new Up(), new Down(), new Down());
//		IParticle[] SELF = {new Up(), new Up(), new Down()};
//		SELF[0].setParentParticle(this);
//		SELF[1].setParentParticle(this);
//		SELF[2].setParentParticle(this);
	}
	
	public Proton(IUp up, IDown down1, IDown down2) {
		super(up, down1, down2);
		up.setParentParticle(this);
		down1.setParentParticle(this);
		down2.setParentParticle(this);
	}

	@Override
	public IParticle[] fusion(IParticle[] particles) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public IParticle[] decay() {
		this.removeFromSpace();
		return null;
	}

//	@Override
//	public String toString() {
//		return SYMBOL;
//	}

}
